
//类的实现者
public class Date {//一个类，相当于一个自定义的类型
    //public int year;//属性（成员变量）
    private int year;//封装 成员变量 当前类中私有的，不能在类外访问
    public int month;
    public int day;

    public Date() {//构造方法，方法名与类名相同，无返回值
        this(1909, 11, 14);//表示调用带有三个参数的构造方法（必须在第一行）
        System.out.println("Date()...");
    }//若当前类无构造方法，则当前类会默认提供一个无参的空的构造方法，但救急不救穷

    public Date(int year, int month, int day) {
        //this();//err 不能形成环
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("Date(int, int, int)");
    }

    public void printDate() {//成员方法
        System.out.println(this.year + "年" + this.month +
                "月" + this.day + "日");
    }//this 表示当前对象的引用，谁调用该方法谁就是当前对象
    //this的三种用法：
    //1.this访问当前对象的成员变量；
    //2.this访问当前对象的成员方法；
    //3.this调用当前对象的构造方法；


    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getDay() {
        return day;
    }

    public void setDay(int day) {
        this.day = day;
    }
}
